import type { AppRouteModule } from '@/router/types';

import { getParentLayout, LAYOUT } from '@/router/constant';
import { t } from '@/hooks/web/useI18n';

const feat: AppRouteModule = {
  path: '/shop',
  name: 'ShopDemo',
  component: LAYOUT,
  redirect: '/feat/goodList',
  meta: {
    orderNo: 19,
    icon: 'ant-design:shop-outlined',
    title: t('routes.demo.shop.manage'),
    roles: 'manage'
  },

  children: [

    {
      path: 'goodList',
      name: 'GoodList',
      component: () => import('@/views/shop/goodList/index.vue'),
      meta: {
        title: t('routes.demo.shop.goodList'),
      },
    },
    {
      path: 'categoryList',
      name: 'CategoryList',
      component: () => import('@/views/shop/categoryList/index.vue'),
      meta: {
        title: t('routes.demo.shop.categoryList'),
      },
    },
    {
      path: 'orderList',
      name: 'OrderList',
      component: () => import('@/views/shop/orderList/index.vue'),
      meta: {
        title: t('routes.demo.shop.orderList'),
      },
    },
    // {
    //   path: 'request',
    //   name: 'RequestDemo',
    //   // @ts-ignore
    //   component: () => import('@/views/demo/excel/UploadDemo.vue'),
    //   meta: {
    //     title: t('routes.demo.feat.requestDemo'),
    //   },
    // },
    // {
    //   path: 'session-timeout',
    //   name: 'SessionTimeout',
    //   component: () => import('@/views/demo/feat/session-timeout/index.vue'),
    //   meta: {
    //     title: t('routes.demo.feat.sessionTimeout'),
    //   },
    // },
    // {
    //   path: 'print',
    //   name: 'Print',
    //   component: () => import('@/views/demo/feat/print/index.vue'),
    //   meta: {
    //     title: t('routes.demo.feat.print'),
    //   },
    // },
    // {
    //   path: 'tabs',
    //   name: 'TabsDemo',
    //   component: () => import('@/views/demo/feat/tabs/index.vue'),
    //   meta: {
    //     title: t('routes.demo.feat.tabs'),
    //     hideChildrenInMenu: true,
    //   },
    //   children: [
    //     {
    //       path: 'detail/:id',
    //       name: 'TabDetail',
    //       component: () => import('@/views/demo/feat/tabs/TabDetail.vue'),
    //       meta: {
    //         currentActiveMenu: '/feat/tabs',
    //         title: t('routes.demo.feat.tabDetail'),
    //         hideMenu: true,
    //         dynamicLevel: 3,
    //         realPath: '/feat/tabs/detail',
    //       },
    //     },
    //   ],
    // },
    // {
    //   path: 'breadcrumb',
    //   name: 'BreadcrumbDemo',
    //   redirect: '/feat/breadcrumb/flat',
    //   component: getParentLayout('BreadcrumbDemo'),
    //   meta: {
    //     title: t('routes.demo.feat.breadcrumb'),
    //   },
    //
    //   children: [
    //     {
    //       path: 'flat',
    //       name: 'BreadcrumbFlatDemo',
    //       component: () => import('@/views/demo/feat/breadcrumb/FlatList.vue'),
    //       meta: {
    //         title: t('routes.demo.feat.breadcrumbFlat'),
    //       },
    //     },
    //     {
    //       path: 'flatDetail',
    //       name: 'BreadcrumbFlatDetailDemo',
    //       component: () => import('@/views/demo/feat/breadcrumb/FlatListDetail.vue'),
    //       meta: {
    //         title: t('routes.demo.feat.breadcrumbFlatDetail'),
    //         hideMenu: true,
    //         hideTab: true,
    //         currentActiveMenu: '/feat/breadcrumb/flat',
    //       },
    //     },
    //     {
    //       path: 'children',
    //       name: 'BreadcrumbChildrenDemo',
    //       component: () => import('@/views/demo/feat/breadcrumb/ChildrenList.vue'),
    //       meta: {
    //         title: t('routes.demo.feat.breadcrumbChildren'),
    //       },
    //       children: [
    //         {
    //           path: 'childrenDetail',
    //           name: 'BreadcrumbChildrenDetailDemo',
    //           component: () => import('@/views/demo/feat/breadcrumb/ChildrenListDetail.vue'),
    //           meta: {
    //             currentActiveMenu: '/feat/breadcrumb/children',
    //             title: t('routes.demo.feat.breadcrumbChildrenDetail'),
    //             //hideTab: true,
    //             // hideMenu: true,
    //           },
    //         },
    //       ],
    //     },
    //   ],
    // },
    //
    // {
    //   path: 'context-menu',
    //   name: 'ContextMenuDemo',
    //   component: () => import('@/views/demo/feat/context-menu/index.vue'),
    //   meta: {
    //     title: t('routes.demo.feat.contextMenu'),
    //   },
    // },
    // {
    //   path: 'download',
    //   name: 'DownLoadDemo',
    //   component: () => import('@/views/demo/feat/download/index.vue'),
    //   meta: {
    //     title: t('routes.demo.feat.download'),
    //   },
    // },
    // {
    //   path: 'click-out-side',
    //   name: 'ClickOutSideDemo',
    //   component: () => import('@/views/demo/feat/click-out-side/index.vue'),
    //   meta: {
    //     title: t('routes.demo.feat.clickOutSide'),
    //   },
    // },
    // {
    //   path: 'img-preview',
    //   name: 'ImgPreview',
    //   component: () => import('@/views/demo/feat/img-preview/index.vue'),
    //   meta: {
    //     title: t('routes.demo.feat.imgPreview'),
    //   },
    // },
    // {
    //   path: 'copy',
    //   name: 'CopyDemo',
    //   component: () => import('@/views/demo/feat/copy/index.vue'),
    //   meta: {
    //     title: t('routes.demo.feat.copy'),
    //   },
    // },
    // {
    //   path: 'ellipsis',
    //   name: 'EllipsisDemo',
    //   component: () => import('@/views/demo/feat/ellipsis/index.vue'),
    //   meta: {
    //     title: t('routes.demo.feat.ellipsis'),
    //   },
    // },
    // {
    //   path: 'msg',
    //   name: 'MsgDemo',
    //   component: () => import('@/views/demo/feat/msg/index.vue'),
    //   meta: {
    //     title: t('routes.demo.feat.msg'),
    //   },
    // },
    // {
    //   path: 'watermark',
    //   name: 'WatermarkDemo',
    //   component: () => import('@/views/demo/feat/watermark/index.vue'),
    //   meta: {
    //     title: t('routes.demo.feat.watermark'),
    //   },
    // },
    // {
    //   path: 'ripple',
    //   name: 'RippleDemo',
    //   component: () => import('@/views/demo/feat/ripple/index.vue'),
    //   meta: {
    //     title: t('routes.demo.feat.ripple'),
    //   },
    // },
    // {
    //   path: 'full-screen',
    //   name: 'FullScreenDemo',
    //   component: () => import('@/views/demo/feat/full-screen/index.vue'),
    //   meta: {
    //     title: t('routes.demo.feat.fullScreen'),
    //   },
    // },
    // {
    //   path: '/error-log',
    //   name: 'ErrorLog',
    //   component: () => import('@/views/sys/error-log/index.vue'),
    //   meta: {
    //     title: t('routes.demo.feat.errorLog'),
    //   },
    // },
    // {
    //   path: 'excel',
    //   name: 'Excel',
    //   redirect: '/feat/excel/customExport',
    //   component: getParentLayout('Excel'),
    //   meta: {
    //     // icon: 'mdi:microsoft-excel',
    //     title: t('routes.demo.excel.excel'),
    //   },
    //
    //   children: [
    //     {
    //       path: 'customExport',
    //       name: 'CustomExport',
    //       component: () => import('@/views/demo/excel/CustomExport.vue'),
    //       meta: {
    //         title: t('routes.demo.excel.customExport'),
    //       },
    //     },
    //     {
    //       path: 'jsonExport',
    //       name: 'JsonExport',
    //       component: () => import('@/views/demo/excel/JsonExport.vue'),
    //       meta: {
    //         title: t('routes.demo.excel.jsonExport'),
    //       },
    //     },
    //     {
    //       path: 'arrayExport',
    //       name: 'ArrayExport',
    //       component: () => import('@/views/demo/excel/ArrayExport.vue'),
    //       meta: {
    //         title: t('routes.demo.excel.arrayExport'),
    //       },
    //     },
    //     {
    //       path: 'importExcel',
    //       name: 'ImportExcel',
    //       component: () => import('@/views/demo/excel/ImportExcel.vue'),
    //       meta: {
    //         title: t('routes.demo.excel.importExcel'),
    //       },
    //     },
    //   ],
    // },
    // {
    //   path: 'testTab/:id',
    //   name: 'TestTab',
    //   component: () => import('@/views/demo/feat/tab-params/index.vue'),
    //   meta: {
    //     title: t('routes.demo.feat.tab'),
    //     carryParam: true,
    //     hidePathForChildren: true,
    //   },
    //   children: [
    //     {
    //       path: 'testTab/id1',
    //       name: 'TestTab1',
    //       component: () => import('@/views/demo/feat/tab-params/index.vue'),
    //       meta: {
    //         title: t('routes.demo.feat.tab1'),
    //         carryParam: true,
    //         ignoreRoute: true,
    //       },
    //     },
    //     {
    //       path: 'testTab/id2',
    //       name: 'TestTab2',
    //       component: () => import('@/views/demo/feat/tab-params/index.vue'),
    //       meta: {
    //         title: t('routes.demo.feat.tab2'),
    //         carryParam: true,
    //         ignoreRoute: true,
    //       },
    //     },
    //   ],
    // },
    // {
    //   path: 'testParam/:id',
    //   name: 'TestParam',
    //   component: getParentLayout('TestParam'),
    //   meta: {
    //     title: t('routes.demo.feat.menu'),
    //     ignoreKeepAlive: true,
    //   },
    //   children: [
    //     {
    //       path: 'sub1',
    //       name: 'TestParam_1',
    //       component: () => import('@/views/demo/feat/menu-params/index.vue'),
    //       meta: {
    //         title: t('routes.demo.feat.menu1'),
    //         ignoreKeepAlive: true,
    //       },
    //     },
    //     {
    //       path: 'sub2',
    //       name: 'TestParam_2',
    //       component: () => import('@/views/demo/feat/menu-params/index.vue'),
    //       meta: {
    //         title: t('routes.demo.feat.menu2'),
    //         ignoreKeepAlive: true,
    //       },
    //     },
    //   ],
    // },
  ],
};

export default feat;
